/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.context;

import com.model.dao.UsuarioDao;
import com.model.dao.ViviendaDao;
import com.model.service.ActividadService;
import com.model.service.CargoService;
import com.model.service.CentroPobladoService;
import com.model.service.ConceptoPagoPersonalService;
import com.model.service.ConfiguracionService;
import com.model.service.ConglomeradoPersonalDetalleService;
import com.model.service.ConglomeradoPersonalResumenService;
import com.model.service.ConglomeradoService;
import com.model.service.ControlEnvioHogarService;
import com.model.service.HogarService;
import com.model.service.DataXmlCampoService;
import com.model.service.DataXmlMarcoService;
import com.model.service.DepartamentoService;
import com.model.service.DistritoService;
import com.model.service.EncuestadorService;
import com.model.service.EstadoCivilService;
import com.model.service.HogarXmlTransferidoService;
import com.model.service.LogXmlCargadoErrorService;
import com.model.service.LogXmlCargadoService;
import com.model.service.LogXmlTransferidoErrorService;
import com.model.service.LogXmlTransferidoService;
import com.model.service.ConglomeradoPersonalService;
import com.model.service.CursoEstudiadoService;
import com.model.service.LenguaMaternaService;
import com.model.service.MesService;
import com.model.service.MonitoreoTransferenciaService;
import com.model.service.OdeiService;
import com.model.service.PartidaService;
import com.model.service.PerfilService;
import com.model.service.PeriodoService;
import com.model.service.PersonalService;
import com.model.service.ProgramacionPeriodoService;
import com.model.service.ProvinciaService;
import com.model.service.ReporteTransferenciaService;
import com.model.service.UbigeoService;
import com.model.service.UsuarioService;
import com.model.service.ViviendaMarcoService;
import com.model.service.ViviendaService;
import com.model.service.ViviendaXmlTransferidoService;

public class ModelContext {
    
    private final UsuarioService usuarioService = new UsuarioService();
    private final UsuarioDao usuarioDao = new UsuarioDao();
    
    private final ViviendaService viviendaService = new ViviendaService();
    private final ViviendaDao viviendaDao = new ViviendaDao();
    
    private final DataXmlCampoService dataXmlCampoService = new DataXmlCampoService();
    private final DataXmlMarcoService dataXmlMarcoService = new DataXmlMarcoService();
    private final HogarService hogarService = new HogarService();
    private final ReporteTransferenciaService reporteTransferenciaService = new ReporteTransferenciaService();
    private final OdeiService odeiService = new OdeiService();
    private final MesService mesService = new MesService();
    private final PeriodoService periodoService = new PeriodoService();    
    private final ViviendaMarcoService viviendaMarcoService = new ViviendaMarcoService();
    private final ConglomeradoService conglomeradoService = new ConglomeradoService();
    private final EncuestadorService encuestadorService = new EncuestadorService();
    private final MonitoreoTransferenciaService monitoreoTransferenciaService = new MonitoreoTransferenciaService(); 

    private final LogXmlTransferidoService logXmlTransferidoService = new LogXmlTransferidoService();
    private final LogXmlTransferidoErrorService logXmlTransferidoErrorService = new LogXmlTransferidoErrorService();
    private final HogarXmlTransferidoService hogarXmlTransferidoService = new HogarXmlTransferidoService();
    private final ViviendaXmlTransferidoService viviendaXmlTransferidoService = new ViviendaXmlTransferidoService();
    
    private final LogXmlCargadoService logXmlCargadoService = new LogXmlCargadoService();
    private final LogXmlCargadoErrorService logXmlCargadoErrorService = new LogXmlCargadoErrorService();
    private final ControlEnvioHogarService controlEnvioHogarService = new ControlEnvioHogarService();
    private final PerfilService perfilService = new PerfilService();
    
    private final PersonalService personalService = new PersonalService();
    private final EstadoCivilService estadoCivilService = new EstadoCivilService();
    private final CargoService cargoService = new CargoService();
    private final DepartamentoService departamentoService = new DepartamentoService();
    
    private final ConfiguracionService configuracionService = new ConfiguracionService();
    private final ConglomeradoPersonalService conglomeradoPersonalService = new ConglomeradoPersonalService();
    private final ConglomeradoPersonalResumenService conglomeradoPersonalResumenService = new ConglomeradoPersonalResumenService();
    private final DistritoService distritoService = new DistritoService();
    private final ActividadService actividadService = new ActividadService();
    private final PartidaService partidaService = new PartidaService();
    private final CentroPobladoService centroPobladoService = new CentroPobladoService();
    private final UbigeoService ubigeoService = new UbigeoService();
    private final ProvinciaService provinciaService = new ProvinciaService();
    private final LenguaMaternaService lenguaMaternaService = new LenguaMaternaService();
    private final CursoEstudiadoService cursoEstudiadoService = new CursoEstudiadoService();
    private final ProgramacionPeriodoService programacionPeriodoService = new ProgramacionPeriodoService();
    private final ConglomeradoPersonalDetalleService conglomeradoPersonalDetalleService = new ConglomeradoPersonalDetalleService();
    private final ConceptoPagoPersonalService conceptoPagoPersonalService = new ConceptoPagoPersonalService();
        
        
    protected ModelContext() {

    }
    
    public void inicializar() {
        dataXmlCampoService.setCampo_HogarService(hogarService);
        dataXmlCampoService.setLogXmlTransferidoService(logXmlTransferidoService);
        dataXmlCampoService.setLogXmlCargadoService(logXmlCargadoService);
        dataXmlCampoService.setViviendaService(viviendaService);
        dataXmlCampoService.setConglomeradoService(conglomeradoService);
        
        dataXmlMarcoService.setLogXmlTransferidoService(logXmlTransferidoService);
        dataXmlMarcoService.setLogXmlCargadoService(logXmlCargadoService);
        
        logXmlTransferidoService.setHogarXmlTransferidoService(hogarXmlTransferidoService);
        logXmlTransferidoService.setLogXmlTransferidoErrorService(logXmlTransferidoErrorService);
        logXmlTransferidoService.setViviendaXmlTransferidoService(viviendaXmlTransferidoService);
        logXmlTransferidoService.setConglomeradoService(conglomeradoService);
        logXmlTransferidoService.setViviendaService(viviendaService);
        
        logXmlCargadoService.setControlEnvioHogarService(controlEnvioHogarService);
        logXmlCargadoService.setLogXmlTransferidoService(logXmlTransferidoService);
        logXmlCargadoService.setLogXmlCargadoErrorService(logXmlCargadoErrorService);
        logXmlCargadoService.setViviendaXmlTransferidoService(viviendaXmlTransferidoService);
        logXmlCargadoService.setDataXmlCampoService(dataXmlCampoService);
        
        reporteTransferenciaService.setOdeiService(odeiService);
        reporteTransferenciaService.setMesService(mesService);
        reporteTransferenciaService.setPeriodoService(periodoService);
        reporteTransferenciaService.setViviendaMarcoService(viviendaMarcoService);
        reporteTransferenciaService.setViviendaService(viviendaService);
        reporteTransferenciaService.setConglomeradoService(conglomeradoService);
        reporteTransferenciaService.setEncuestadorService(encuestadorService);
        reporteTransferenciaService.setHogarService(hogarService);
        
        monitoreoTransferenciaService.setConglomeradoService(conglomeradoService);
        monitoreoTransferenciaService.setHogarService(hogarService);
        monitoreoTransferenciaService.setViviendaMarcoService(viviendaMarcoService);
        monitoreoTransferenciaService.setMesService(mesService);
        monitoreoTransferenciaService.setOdeiService(odeiService);
        monitoreoTransferenciaService.setPeriodoService(periodoService);
        monitoreoTransferenciaService.setLogXmlTransferidoService(logXmlTransferidoService);
        monitoreoTransferenciaService.setViviendaXmlTransferidoService(viviendaXmlTransferidoService);
        
        hogarService.setViviendaService(viviendaService);        
        viviendaService.setDao(viviendaDao);
        
        viviendaMarcoService.setViviendaService(viviendaService);
        viviendaMarcoService.setHogarService(hogarService);
        
        usuarioService.setDao(usuarioDao);
        usuarioService.setPerfilService(perfilService);
        usuarioService.setOdeiService(odeiService);
        
        viviendaXmlTransferidoService.setHogarXmlTransferidoService(hogarXmlTransferidoService);
        
        controlEnvioHogarService.setHogarXmlTransferidoService(hogarXmlTransferidoService);
        
        
        personalService.setEstadoCivilService(estadoCivilService);       
        personalService.setPerfilService(perfilService);
        personalService.setCargoService(cargoService);
        personalService.setDepartamentoService(departamentoService);
        personalService.setOdeiService(odeiService);       
        personalService.setLenguaMaternaService(lenguaMaternaService);
        personalService.setCursoEstudiadoService(cursoEstudiadoService);
        
        conglomeradoPersonalService.setConglomeradoService(conglomeradoService);
        conglomeradoPersonalService.setMesService(mesService);
        conglomeradoPersonalService.setOdeiService(odeiService);
        conglomeradoPersonalService.setPeriodoService(periodoService);
        conglomeradoPersonalService.setEncuestadorService(encuestadorService);
        conglomeradoPersonalService.setActividadService(actividadService);
        conglomeradoPersonalService.setPartidaService(partidaService);
        conglomeradoPersonalService.setPersonalService(personalService);
        conglomeradoPersonalService.setConglomeradoService(conglomeradoService);
        conglomeradoPersonalService.setProgramacionPeriodoService(programacionPeriodoService);
        
        conglomeradoPersonalResumenService.setConglomeradoService(conglomeradoService);
        conglomeradoPersonalResumenService.setMesService(mesService);
        conglomeradoPersonalResumenService.setOdeiService(odeiService);
        conglomeradoPersonalResumenService.setPeriodoService(periodoService);
        conglomeradoPersonalResumenService.setEncuestadorService(encuestadorService);
        conglomeradoPersonalResumenService.setActividadService(actividadService);
        conglomeradoPersonalResumenService.setPartidaService(partidaService);
        conglomeradoPersonalResumenService.setPersonalService(personalService);
        conglomeradoPersonalResumenService.setConglomeradoService(conglomeradoService);
        conglomeradoPersonalResumenService.setProgramacionPeriodoService(programacionPeriodoService);
        conglomeradoPersonalResumenService.setConglomeradoPersonalDetalleService(conglomeradoPersonalDetalleService);
        
        conglomeradoService.setDistritoService(distritoService);
        conglomeradoService.setCentroPobladoService(centroPobladoService);
        conglomeradoService.setProgramacionPeriodoService(programacionPeriodoService);
        conglomeradoService.setOdeiService(odeiService);
        conglomeradoService.setPeriodoService(periodoService);
        
        ubigeoService.setProvinciaService(provinciaService);
        ubigeoService.setDistritoService(distritoService);
        
        //programacionPeriodoService.setConglomeradoPersonalService(conglomeradoPersonalService);
        programacionPeriodoService.setConglomeradoService(conglomeradoService);
        
        odeiService.setDepartamentoService(departamentoService);
        
        periodoService.setProgramacionPeriodoService(programacionPeriodoService);
        
        encuestadorService.setConglomeradoService(conglomeradoService);
        encuestadorService.setCargoService(cargoService);
        
        conceptoPagoPersonalService.setConglomeradoService(conglomeradoService);
        conceptoPagoPersonalService.setPartidaService(partidaService);
        conceptoPagoPersonalService.setPersonalService(personalService);
    }

    public UsuarioService getUsuarioService() {
        return usuarioService;
    }

    public DataXmlCampoService getDataXmlCampoService() {
        return dataXmlCampoService;
    }

    public DataXmlMarcoService getDataXmlMarcoService() {
        return dataXmlMarcoService;
    }
   
      
    public HogarService getCampo_HogarService() {
        return hogarService;
    }

    public ReporteTransferenciaService getReporteTransferenciaService() {
        return reporteTransferenciaService;
    }
    
    public MonitoreoTransferenciaService getMonitoreoTransferenciaService() {
        return monitoreoTransferenciaService;
    }    

    public LogXmlCargadoService getLogXmlCargadoService() {
        return logXmlCargadoService;
    }

    public PersonalService getPersonalService() {
        return personalService;
    }  

    public ConfiguracionService getConfiguracionService() {
        return configuracionService;
    }

    public ViviendaMarcoService getViviendaMarcoService() {
        return viviendaMarcoService;
    }

    public ConglomeradoPersonalService getConglomeradoPersonalService() {
        return conglomeradoPersonalService;
    }

    public UbigeoService getUbigeoService() {
        return ubigeoService;
    }

    public ProgramacionPeriodoService getProgramacionPeriodoService() {
        return programacionPeriodoService;
    }

    public ConglomeradoPersonalResumenService getConglomeradoPersonalResumenService() {
        return conglomeradoPersonalResumenService;
    }

    public PeriodoService getPeriodoService() {
        return periodoService;
    }

    public ConceptoPagoPersonalService getConceptoPagoPersonalService() {
        return conceptoPagoPersonalService;
    }

    
    
}
